package com.carter.springframework.core.type;

import com.carter.springframework.core.annotation.MergedAnnotation;

import java.util.Map;

public interface AnnotationMetadata extends ClassMetadata,AnnotatedTypeMetadata{
    default boolean hasAnnotation(String annotationName) {
        return getAnnotations().isDirectlyPresent(annotationName);
    }

    default boolean hasMetaAnnotation(String metaAnnotationName) {
        return getAnnotations().get(metaAnnotationName,
                MergedAnnotation::isMetaPresent).isPresent();
    }
}
